package com.vxdata

object 基础_2_数据类型转换_强制 {
  def main(args: Array[String]): Unit = {
    //（1）将数据由高精度转换为低精度，就需要使用到强制转换
    var n1: Int = 2.5.toInt // 这个存在精度损失
    //（2）强转符号只针对于最近的操作数有效，往往会使用小括号提升优先级
    var r1: Int = 10 * 3.5.toInt + 6 * 1.5.toInt // 10 *3 + 6*1 = 36
    var r2: Int = (10 * 3.5 + 6 * 1.5).toInt // 44.0.toInt =
    44
    println("r1=" + r1 + " r2=" + r2)


    /**
     * Double -> Int
     */
    var double_1: Double = 2.5
    var int_1: Int = double_1.toInt

    /**
     * 数值类型 -> String
     */
    var str1: String = true + ""
    var str2: String = 4.5 + ""
    var str3: String = 100 + ""

    /**
     * String -> 基本数据类型
     */
    var s1: String = "12"
    var byte1: Byte = s1.toByte
    var short1: Short = s1.toShort
    var int1: Int = s1.toInt
    var long1: Long = s1.toLong

  }
}
